home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / var / db / pkg / sys-fs / e2fsprogs-1.38-r1 / e2fsprogs-1.38-r1.ebuild < prev    next >
Text File  |  2006-04-25  |  4KB  |  138 lines

  1. # Copyright 1999-2006 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2
  3. # $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/e2fsprogs-1.38-r1.ebuild,v 1.14 2006/04/24 01:34:37 kumba Exp $
  4.  
  5. inherit eutils flag-o-matic toolchain-funcs
  6.  
  7. DESCRIPTION="Standard EXT2 and EXT3 filesystem utilities"
  8. HOMEPAGE="http://e2fsprogs.sourceforge.net/"
  9. SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
  10.  
  11. LICENSE="GPL-2"
  12. SLOT="0"
  13. KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86"
  14. IUSE="nls static"
  15.  
  16. RDEPEND="~sys-libs/com_err-${PV}
  17.     ~sys-libs/ss-${PV}
  18.     nls? ( virtual/libintl )"
  19. DEPEND="${RDEPEND}
  20.     nls? ( sys-devel/gettext )
  21.     sys-apps/texinfo"
  22.  
  23. pkg_setup() {
  24.     # sanity check for #125146
  25.     if [[ -L ${ROOT}/usr/$(get_libdir)/libcom_err.a ]] || \
  26.        [[ ! -e ${ROOT}/usr/$(get_libdir)/libcom_err.a ]]
  27.     then
  28.         rm -f "${ROOT}"/usr/$(get_libdir)/libcom_err.a
  29.         eerror "Your libcom_err.a is broken, please re-emerge com_err:"
  30.         eerror "  # emerge com_err"
  31.         die "Mr. T pities the fool with a broken libcom_err.a"
  32.     fi
  33. }
  34.  
  35. src_unpack() {
  36.     unpack ${A}
  37.     cd "${S}"
  38.     # Fix locale issues while running tests #99766
  39.     epatch "${FILESDIR}"/${P}-tests-locale.patch
  40.     # Fix a cosmetic error in mk_cmds's help output.
  41.     epatch "${FILESDIR}"/e2fsprogs-1.32-mk_cmds-cosmetic.patch
  42.     chmod u+w po/*.po # Userpriv fix #27348
  43.     # Clean up makefile to suck less
  44.     epatch "${FILESDIR}"/e2fsprogs-1.36-makefile.patch
  45.     # Fix segfault with disconnected inodes #91751
  46.     epatch "${FILESDIR}"/${P}-disconnected-inodes.patch
  47.  
  48.     # Fixes from upstream
  49.     epatch "${FILESDIR}"/${P}-blkid-ext23.patch
  50.     epatch "${FILESDIR}"/${P}-blkid-swsuspend.patch
  51.     epatch "${FILESDIR}"/${P}-vfat-labels.patch
  52.  
  53.     # Fixes libintl handling on non-glibc #122368
  54.     epatch "${FILESDIR}/${P}-libintl.patch"
  55.  
  56.     # kernel headers use the same defines as e2fsprogs and can cause issues #48829
  57.     sed -i \
  58.         -e 's:CONFIG_JBD_DEBUG:__CONFIG_JBD_DEBUG__E2FS:g' \
  59.         $(grep -rl CONFIG_JBD_DEBUG *) \
  60.         || die "sed jbd debug failed"
  61.  
  62.     # building e2fsprogs on sparc results in silo breaking
  63.     [[ ${ARCH} == "sparc" ]] && filter-flags -fstack-protector
  64.  
  65.     # fake out files we forked into sep packages
  66.     sed -i \
  67.         -e '/^LIB_SUBDIRS/s:lib/et::' \
  68.         -e '/^LIB_SUBDIRS/s:lib/ss::' \
  69.         Makefile.in || die "remove subdirs"
  70.     ln -s "${ROOT}"/usr/$(get_libdir)/libcom_err.a lib/libcom_err.a
  71.     ln -s "${ROOT}"/$(get_libdir)/libcom_err.so lib/libcom_err.so
  72.     ln -s /usr/bin/mk_cmds lib/ss/mk_cmds
  73.     ln -s "${ROOT}"/usr/include/ss/ss_err.h lib/ss/
  74.     ln -s "${ROOT}"/$(get_libdir)/libss.so lib/libss.so
  75.  
  76.     # sanity check for Bug 105304
  77.     if [[ -z ${USERLAND} ]] ; then
  78.         eerror "You just hit Bug 105304, please post your 'emerge info' here:"
  79.         eerror "http://bugs.gentoo.org/105304"
  80.         die "Aborting to prevent screwing your system"
  81.     fi
  82. }
  83.  
  84. src_compile() {
  85.     # Keep the package from doing silly things
  86.     export LDCONFIG=/bin/true
  87.     export CC=$(tc-getCC)
  88.     export STRIP=/bin/true
  89.  
  90.     econf \
  91.         --bindir=/bin \
  92.         --sbindir=/sbin \
  93.         --enable-elf-shlibs \
  94.         --with-ldopts="${LDFLAGS}" \
  95.         $(use_enable !static dynamic-e2fsck) \
  96.         --without-included-gettext \
  97.         $(use_enable nls) \
  98.         $(use_enable userland_GNU fsck) \
  99.         || die
  100.     if [[ ${CHOST} != *-uclibc ]] && grep -qs 'USE_INCLUDED_LIBINTL.*yes' config.{log,status} ; then
  101.         eerror "INTL sanity check failed, aborting build."
  102.         eerror "Please post your ${S}/config.log file as an"
  103.         eerror "attachment to http://bugs.gentoo.org/show_bug.cgi?id=81096"
  104.         die "Preventing included intl cruft from building"
  105.     fi
  106.     mkdir -p lib/{blkid,e2p,et,ext2fs,ss,uuid}/{checker,elfshared,pic,profiled} #102412
  107.     # Parallel make sometimes fails
  108.     emake -j1 COMPILE_ET=compile_et || die
  109. }
  110.  
  111. src_install() {
  112.     make DESTDIR="${D}" install || die
  113.     dodoc ChangeLog README RELEASE-NOTES SHLIBS
  114.     docinto e2fsck
  115.     dodoc e2fsck/ChangeLog e2fsck/CHANGES
  116.  
  117.     # Move shared libraries to /lib/, install static libraries to /usr/lib/,
  118.     # and install linker scripts to /usr/lib/.
  119.     dodir /$(get_libdir)
  120.     mv "${D}"/usr/$(get_libdir)/*.so* "${D}"/$(get_libdir)/
  121.     dolib.a lib/*.a || die "dolib.a"
  122.     rm -f "${D}"/usr/$(get_libdir)/libcom_err.a #125146
  123.     local x
  124.     cd "${D}"/$(get_libdir)
  125.     for x in *.so ; do
  126.         gen_usr_ldscript ${x} || die "gen ldscript ${x}"
  127.     done
  128.  
  129.     # move 'useless' stuff to /usr/
  130.     dosbin "${D}"/sbin/mklost+found
  131.     rm -f "${D}"/sbin/mklost+found
  132.  
  133.     # these manpages are already provided by FreeBSD libc
  134.     use elibc_FreeBSD && \
  135.         rm -f "${D}"/usr/share/man/man3/{uuid,uuid_compare}.3 \
  136.             "${D}"/usr/share/man/man1/uuidgen.1
  137. }
  138.